#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//enum ENUM_A
//{
//	X1,
//	Y1,
//	Z1 = 255,
//	A1,
//	B1,
//};
//
//int main()
//{
//	enum ENUM_A enumA = Y1;
//    enum ENUM_A enumB = B1;
//    printf("%d %d\n", enumA, enumB);
//	return 0;
//}



//int main()
//{
//    union
//    {
//        short k;
//        char i[2];
//    }*s, a;
//
//    s = &a;
//    s->i[0] = 0x39;
//    s->i[1] = 0x38;
//    printf("%x\n" , a.k);
//    return 0;
//}



//int main()
//{
//	int arr[] = { 1,1,2,2,3,3,4,5,5,6,6,7,7 };
//	int arr2[10] = { 0 };
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	for (i = 0; i < sz; i++)
//	{
//		arr2[arr[i]]++;
//	}
//	for (i = 0; i < 10; i++)
//	{
//		if (arr2[i] == 1)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}

//int my_strncmp(char* p1, char* p2, int n)
//{
//	int i = 0;
//	for (i = 0; i < n; i++)
//	{
//		if (*p1 != "\0" && *p2 != "\0")
//		{
//			if( * p1 !=  * p2)
//		{
//			return *p1 - *p2;
//		}
//		p1++;
//		p2++;
//		}
//		
//	}
//	return 0;
//}
//int main()
//{
//	char str1[] = "abcdefg";
//	char str2[] = "abcdefq";
//	int n = 7;
//	int ret = my_strncmp(str1, str2, n);
//	printf("%d ", ret);
//	return 0;
//}

char* my_strcat(char* p1, char* p2, int n)
{
	while (*p2)
	{
		*(p1 + n) = *p2;
		p1++;
		p2++;
	}
}

int main()
{
	char str1[20] = { "abcde" };
	char str2[] = { "rstuv" };
	int n = 4;
	my_strcat(str1, str2, n);
	printf("%s", str1);
	return 0;
}